book allocation problem